package com.et114.modules.cust.dao;

import java.util.List;

import com.et114.components.simpletable.DataList;
import com.et114.modules.cust.vo.CustBaseVo;
import com.et114.modules.cust.vo.CustInfoVo;
import com.et114.modules.cust.vo.LeadVo;
import com.et114.modules.org.vo.UserEmplyVo;

/**
 * @author zhiweip
 * @version 1.0
 * @created 09-十一月-2010 23:03:47
 */
public interface IMng_CustDao {

	public CustBaseVo loadCust(CustBaseVo vo);
	public LeadVo loadLeadCust(LeadVo vo);
	public List queryCustList(CustBaseVo vo);

	/**
	 * 根据类型获取客户详细资料
	 */
	public List loadCustMsgByType(CustInfoVo vo);

	public DataList queryCustDataList(CustBaseVo vo) throws Exception;

	public Object insertCustBaseInfo(CustBaseVo vo);

	public int updateCustBaseInfo(CustBaseVo vo);
	public int update_pub_cust_Byid_canSetNull(CustBaseVo vo);
	public int deleteCustById(CustBaseVo vo);
	public int update_pub_cust_info(CustInfoVo vo);

	/**
	 * 插入客户相关信息
	 */
	public void insertCustMsg(CustInfoVo vo);
	public void deleteOtherCustmsg(CustInfoVo vo);
	public int deleteCust_info_byKey(CustInfoVo vo);
	
	public List queryLeaderIntentList(LeadVo vo);
	public Integer insert_PUB_LEADER_INTENT(LeadVo vo);
	public Integer delete_PUB_LEADER_INTENT_ByLeaderid(LeadVo vo);
	/**
	 * 新增潜在客户跟踪信息
	 */
	public void insertLeadTrace();

	/**
	 * 客户信息下载
	 * @param vo
	 * @return
	 * @throws Exception
	 */
	public List queryCustDownDataList(CustBaseVo vo) throws Exception;
	/**
	 * 新增购买意向
	 */
	public void insertLeadIntention();
	public void insert_PUB_LEADER_LOG(LeadVo vo);
	public List query_PUB_LEADER_LOG(LeadVo vo);
	public DataList queryLeadDataList ( LeadVo vo ) throws Exception;
	public List queryCustInfoList(CustInfoVo vo);
	public Integer insert_PUB_LEADER(LeadVo vo);	
	public Object update_PUB_LEADER(LeadVo vo);
	public LeadVo load_PUB_LEADER_ByKey(LeadVo vo);
	
	public List query_AllEmpList ( UserEmplyVo vo ) ;
	
	public List query_custDownDataList_by_order(CustBaseVo vo) throws Exception;
	public DataList query_custOrdDataList ( CustBaseVo vo ) throws Exception;
	public int update_Pub_Cust_By_orderstate(CustBaseVo vo );
}